home *** CD-ROM | disk | FTP | other *** search
/ Power Programmierung 2 / Power-Programmierung CD 2 (Tewi)(1994).iso / gnu / gnulib / ghostscr / unix_cc.mak < prev    next >
Encoding:
Makefile  |  1991-02-04  |  24.1 KB  |  736 lines

  1. #    Copyright (C) 1989, 1990 Aladdin Enterprises.  All rights reserved.
  2. #    Distributed by Free Software Foundation, Inc.
  3. #
  4. # This file is part of Ghostscript.
  5. #
  6. # Ghostscript is distributed in the hope that it will be useful, but
  7. # WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
  8. # to anyone for the consequences of using it or for whether it serves any
  9. # particular purpose or works at all, unless he says so in writing.  Refer
  10. # to the Ghostscript General Public License for full details.
  11. #
  12. # Everyone is granted permission to copy, modify and redistribute
  13. # Ghostscript, but only under the conditions described in the Ghostscript
  14. # General Public License.  A copy of this license is supposed to have been
  15. # given to you along with Ghostscript so you can know your rights and
  16. # responsibilities.  It should be in a file named COPYING.  Among other
  17. # things, the copyright notice and this notice must be preserved on all
  18. # copies.
  19.  
  20. # makefile for Ghostscript, Unix/cc/X11 configuration.
  21.  
  22. # ------------------------------- Options ------------------------------- #
  23.  
  24. ####### The following are the only parts of the file you should need to edit.
  25.  
  26. # ------ Generic options ------ #
  27.  
  28. # Define the default directory/ies for the runtime
  29. # initialization and font files.  Separate multiple directories with a :.
  30. # `pwd` means use the directory in which the 'make' is being done.
  31.  
  32. GS_LIB_DEFAULT=`pwd`:`pwd`/fonts
  33.  
  34. # Choose generic configuration options.
  35.  
  36. # -DDEBUG
  37. #    includes debugging features (-Z switch) in the code.
  38. #      Code runs substantially slower even if no debugging switches
  39. #      are set.
  40. # -DNOPRIVATE
  41. #    makes private (static) procedures and variables public,
  42. #      so they are visible to the debugger and profiler.
  43. #      No execution time or space penalty.
  44.  
  45. GENOPT=
  46.  
  47. # ------ Platform-specific options ------ #
  48.  
  49. # Define the other compilation flags.
  50. # Add -DBSD4_2 for 4.2bsd systems.
  51. # Add -DSYSV for System V.
  52.  
  53. CFLAGS=-O
  54.  
  55. # Define platform flags for ld.
  56. # Most Unix systems accept -X, but some don't.
  57. # Sun OS4.n needs -Bstatic.
  58.  
  59. LDPLAT=-X
  60.  
  61. # Define any extra libraries to link into the executable.
  62. # The default is for X Windows.
  63.  
  64. EXTRALIBS= -lX11
  65.  
  66. # Define the installation commands and target directories for
  67. # executables and files.  Only relevant to `make install'.  If you don't
  68. # have GNU install (part of the fileutils distribution), use cp.
  69.  
  70. proginstall = install -m 775
  71. fileinstall = install -m 664
  72. bindir = /usr/local/gnu/bin
  73. libdir = /usr/local/gnu/lib/ghostscript
  74.  
  75. # --------------------------- Choice of devices --------------------------- #
  76.  
  77. # Choose the device(s) to include.  See gdevs.mak for details.
  78.  
  79. DEVICES=x11
  80. DEVICE_OBJS=$(x11_)
  81.  
  82. # ---------------------------- End of options --------------------------- #
  83.  
  84. # Define the name of the makefile -- used in dependencies.
  85.  
  86. MAKEFILE=unix-cc.mak
  87.  
  88. # Define the extensions for the object and executable files.
  89.  
  90. OBJ=o
  91. XE=
  92.  
  93. # Define the ANSI-to-K&R dependency.
  94.  
  95. AK=ansi2knr$(XE)
  96.  
  97. # Define the directory separator and shell quote string.
  98.  
  99. DS=/
  100. Q=\"
  101.  
  102. # Define the compilation rules and flags.
  103.  
  104. CCFLAGS=$(GENOPT) $(CFLAGS)
  105.  
  106. .c.o:
  107.     ./ansi2knr $*.c _temp_.c
  108.     $(CC) $(CCFLAGS) -c _temp_.c
  109.     mv _temp_.o $*.o
  110.  
  111. CCA=./ccgs "$(CC) $(CCFLAGS)" _temp_.c
  112. CCNA=$(CCA)
  113. CCINT=$(CCA)
  114.  
  115. # --------------------------- Generic makefile ---------------------------- #
  116.  
  117. # The remainder of the makefile (ghost.mak, gdevs.mak, and unixtail.mak)
  118. # is generic.  tar_gs concatenates all these together.
  119. #    Copyright (C) 1989, 1990, 1991 Aladdin Enterprises.  All rights reserved.
  120. #    Distributed by Free Software Foundation, Inc.
  121. #
  122. # This file is part of Ghostscript.
  123. #
  124. # Ghostscript is distributed in the hope that it will be useful, but
  125. # WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
  126. # to anyone for the consequences of using it or for whether it serves any
  127. # particular purpose or works at all, unless he says so in writing.  Refer
  128. # to the Ghostscript General Public License for full details.
  129. #
  130. # Everyone is granted permission to copy, modify and redistribute
  131. # Ghostscript, but only under the conditions described in the Ghostscript
  132. # General Public License.  A copy of this license is supposed to have been
  133. # given to you along with Ghostscript so you can know your rights and
  134. # responsibilities.  It should be in a file named COPYING.  Among other
  135. # things, the copyright notice and this notice must be preserved on all
  136. # copies.
  137.  
  138. # Generic makefile for Ghostscript.
  139. # The platform-specific makefiles 'include' this file.
  140. # They define the following symbols:
  141. #    GS_LIB_DEFAULT - the default directory/ies for searching for the
  142. #        initialization and font files at run time.
  143. #    Q - the string that causes the shell to pass a " to a program
  144. #        (" on MS-DOS, \" on Unix).
  145. #    XE - the extension for executable files (e.g., null or .exe).
  146. #    OBJ - the extension for relocatable object files (e.g., o or obj).
  147. #    CCA - the ANSI C invocation for normal compilation.
  148. #    CCNA - the non-ANSI C invocation for files that on some platforms
  149. #        include in-line assembly code or other non-standard
  150. #        constructs.  Currently this is needed on every file that
  151. #        includes sstorei.h, and a few files that use Turbo C
  152. #        "short pointer" constructs.
  153. #    CCINT - the C invocation for compiling the main interpreter module,
  154. #        normally the same as CCNA: this is needed because the
  155. #        Borland compiler generates *worse* code for this module
  156. #        (but only this module) when optimization (-O) is turned on.
  157. #    AK - if source files must be converted from ANSI to K&R syntax,
  158. #        this is ansi2knr$(XE); if not, it is null.
  159. #    DS - the directory separator (/ or \).
  160. # The platform-specific makefiles must also include rules for creating
  161. #   ansi2knr$(XE) and genarch$(XE) from the corresponding .c files,
  162. #   and for making arch.h by executing genarch$(XE).  (This
  163. #   shouldn't really be necessary, but Turbo C and Unix C treat the -o
  164. #   switch slightly differently (Turbo C requires no following space,
  165. #   Unix C requires a following space), and I haven't found a way to capture
  166. #   the difference in a macro; also, Unix requires ./ because . may not be
  167. #   in the search path, whereas MS-DOS always looks in the current
  168. #   directory first.)
  169.  
  170. default: gs$(XE)
  171.  
  172. test: gt$(XE)
  173.  
  174. clean:
  175.     rm -f *.$(OBJ) *.a core gmon.out
  176.     rm -f *.dev gdevs.h gdevs.tl
  177.     rm -f t _temp_* _temp_*.* libc*.tl *.map *.sym
  178.     rm -f ansi2knr$(XE) genarch$(XE) arch.h gs$(XE)
  179.  
  180. # Note: Unix uses malloc.h and memory.h;
  181. # Turbo C uses alloc.h, stdlib.h, and mem.h.
  182. # 4.2bsd uses strings.h; other systems use string.h.
  183. # gcc on VMS doesn't have a math.h.
  184. # We handle this by using local include files called
  185. # malloc_.h, math_.h, memory_.h, and string_.h
  186. # that perform appropriate indirection.
  187.  
  188. # Auxiliary programs
  189.  
  190. arch.h: genarch$(XE)
  191.     .$(DS)genarch
  192.  
  193. # -------------------------------- Library -------------------------------- #
  194.  
  195. GX=$(AK) std.h gx.h
  196. GXERR=$(GX) gserrors.h
  197.  
  198. ###### High-level facilities
  199.  
  200. gschar.$(OBJ): gschar.c $(GXERR) \
  201.   gxfixed.h gxarith.h gxmatrix.h gzdevice.h gxdevmem.h gxfont.h gxchar.h gstype1.h gzpath.h gzcolor.h gzstate.h
  202.  
  203. gscolor.$(OBJ): gscolor.c $(GXERR) \
  204.   gxfixed.h gxmatrix.h gxdevice.h gzstate.h gzcolor.h gzht.h
  205.  
  206. gscoord.$(OBJ): gscoord.c $(GXERR) \
  207.   gxfixed.h gxmatrix.h gzdevice.h gzstate.h gscoord.h
  208.  
  209. gsdevice.$(OBJ): gsdevice.c $(GXERR) \
  210.   gxfixed.h gxmatrix.h gxbitmap.h gxdevmem.h gzstate.h gzdevice.h
  211.  
  212. gsfile.$(OBJ): gsfile.c $(GXERR) \
  213.   gsmatrix.h gxdevice.h gxdevmem.h
  214.  
  215. gsfont.$(OBJ): gsfont.c $(GXERR) \
  216.   gxdevice.h gxfixed.h gxmatrix.h gxfont.h gxfdir.h gzstate.h
  217.  
  218. gsimage.$(OBJ): gsimage.c $(GXERR) \
  219.   arch.h gxfixed.h gxarith.h gxmatrix.h gspaint.h gzcolor.h gzdevice.h gzpath.h gzstate.h gximage.h
  220.  
  221. gsim2out.$(OBJ): gsim2out.c $(GXERR) \
  222.   gsstate.h gsmatrix.h gscoord.h gxfixed.h gxtype1.h
  223.  
  224. gsline.$(OBJ): gsline.c $(GXERR) \
  225.   gxfixed.h gxmatrix.h gzstate.h gzline.h
  226.  
  227. gsmatrix.$(OBJ): gsmatrix.c $(GXERR) \
  228.   gxfixed.h gxarith.h gxmatrix.h
  229.  
  230. gsmisc.$(OBJ): gsmisc.c $(GX)
  231.  
  232. gspaint.$(OBJ): gspaint.c $(GX) \
  233.   gxfixed.h gxmatrix.h gspaint.h gzpath.h gzstate.h gzdevice.h gximage.h
  234.  
  235. gspath.$(OBJ): gspath.c $(GXERR) \
  236.   gxfixed.h gxmatrix.h gxpath.h gzstate.h
  237.  
  238. gspath2.$(OBJ): gspath2.c $(GXERR) \
  239.   gspath.h gxfixed.h gxmatrix.h gzstate.h gzpath.h gzdevice.h
  240.  
  241. gsstate.$(OBJ): gsstate.c $(GXERR) \
  242.   gxfixed.h gxmatrix.h gzstate.h gzcolor.h gzdevice.h gzht.h gzline.h gzpath.h
  243.  
  244. gstype1.$(OBJ): gstype1.c $(GXERR) \
  245.   gxarith.h gxfixed.h gxmatrix.h gxchar.h gxdevmem.h gxtype1.h gxfont1.h gzstate.h gzdevice.h gzpath.h
  246.  
  247. ###### Low-level facilities
  248.  
  249. gxcache.$(OBJ): gxcache.c $(GX) \
  250.   gserrors.h gxfixed.h gxmatrix.h gspaint.h gzdevice.h gzcolor.h gxdevmem.h gxfont.h gxfdir.h gxchar.h gzstate.h gzpath.h
  251.  
  252. gxcolor.$(OBJ): gxcolor.c $(GX) \
  253.   gxfixed.h gxmatrix.h gxdevice.h gzcolor.h gzht.h
  254.  
  255. gxdither.$(OBJ): gxdither.c $(GX) \
  256.   gxfixed.h gxmatrix.h gzstate.h gzdevice.h gzcolor.h gzht.h
  257.  
  258. gxdraw.$(OBJ): gxdraw.c $(GX) \
  259.   gxfixed.h gxmatrix.h gxbitmap.h gzcolor.h gzdevice.h gzstate.h
  260.  
  261. gxfill.$(OBJ): gxfill.c $(GXERR) \
  262.   gxfixed.h gxmatrix.h gxdevice.h gzcolor.h gzpath.h gzstate.h
  263.  
  264. gxht.$(OBJ): gxht.c $(GXERR) \
  265.   gxfixed.h gxmatrix.h gxbitmap.h gzstate.h gzcolor.h gzdevice.h gzht.h
  266.  
  267. gxpath.$(OBJ): gxpath.c $(GXERR) \
  268.   gxfixed.h gzpath.h
  269.  
  270. gxpath2.$(OBJ): gxpath2.c $(GXERR) \
  271.   gxfixed.h gxarith.h gzpath.h
  272.  
  273. gxstroke.$(OBJ): gxstroke.c $(GXERR) \
  274.   gxfixed.h gxarith.h gxmatrix.h gzstate.h gzcolor.h gzdevice.h gzline.h gzpath.h
  275.  
  276. ###### The "memory" device
  277.  
  278. gdevmem.$(OBJ): gdevmem.c $(AK) \
  279.   gs.h arch.h gxbitmap.h gsmatrix.h gxdevice.h gxdevmem.h
  280.     $(CCNA) gdevmem.c
  281.  
  282. ###### Files dependent on the set of installed devices.
  283. ###### Generating gdevs.h also generates gdevs.tl.
  284.  
  285. gdevs.h: gdevs.mak $(MAKEFILE) makefile
  286.     .$(DS)gsconfig $(DEVICES)
  287.  
  288. gdevs.$(OBJ): gdevs.c $(AK) gdevs.h
  289.  
  290. ###### On Unix, we pre-link all of the library except the back end.
  291. ###### On MS-DOS, we have to do the whole thing at once.
  292.  
  293. LIB=gschar.$(OBJ) gscolor.$(OBJ) gscoord.$(OBJ) gsdevice.$(OBJ) \
  294.  gsfile.$(OBJ) gsfont.$(OBJ) gsimage.$(OBJ) gsim2out.$(OBJ) \
  295.  gsline.$(OBJ) gsmatrix.$(OBJ) gsmisc.$(OBJ) \
  296.  gspaint.$(OBJ) gspath.$(OBJ) gspath2.$(OBJ) gsstate.$(OBJ) gstype1.$(OBJ) \
  297.  gxcache.$(OBJ) gxcolor.$(OBJ) gxdither.$(OBJ) gxdraw.$(OBJ) gxfill.$(OBJ) \
  298.  gxht.$(OBJ) gxpath.$(OBJ) gxpath2.$(OBJ) gxstroke.$(OBJ) \
  299.  gdevmem.$(OBJ) gdevs.$(OBJ)
  300.  
  301. # ------------------------------ Interpreter ------------------------------ #
  302.  
  303. ###### Utilities
  304.  
  305. GH=$(AK) ghost.h
  306.  
  307. ialloc.$(OBJ): ialloc.c $(AK) std.h alloc.h
  308.     $(CCNA) ialloc.c
  309.  
  310. idebug.$(OBJ): idebug.c $(GH) name.h
  311.  
  312. idict.$(OBJ): idict.c $(GH) alloc.h errors.h name.h store.h dict.h
  313.  
  314. iinit.$(OBJ): iinit.c $(GH) dict.h oper.h store.h
  315.  
  316. iname.$(OBJ): iname.c $(GH) alloc.h errors.h name.h store.h
  317.  
  318. iscan.$(OBJ): iscan.c $(GH) arch.h alloc.h dict.h errors.h name.h store.h stream.h scanchar.h
  319.  
  320. iutil.$(OBJ): iutil.c $(GH) errors.h alloc.h oper.h store.h gsmatrix.h gxdevice.h gzcolor.h
  321.  
  322. stream.$(OBJ): stream.c $(AK) std.h stream.h scanchar.h gxfixed.h gstype1.h
  323.  
  324. ###### Non-graphics operators
  325.  
  326. OP=$(GH) errors.h oper.h
  327.  
  328. zarith.$(OBJ): zarith.c $(OP) store.h
  329.  
  330. zarray.$(OBJ): zarray.c $(OP) alloc.h store.h sstorei.h
  331.     $(CCNA) zarray.c
  332.  
  333. zcontrol.$(OBJ): zcontrol.c $(OP) estack.h store.h sstorei.h
  334.     $(CCNA) zcontrol.c
  335.  
  336. zdict.$(OBJ): zdict.c $(OP) dict.h store.h
  337.  
  338. zfile.$(OBJ): zfile.c $(OP) alloc.h stream.h store.h gsmatrix.h gxdevice.h gxdevmem.h
  339.  
  340. zgeneric.$(OBJ): zgeneric.c $(OP) dict.h estack.h store.h
  341.  
  342. zmath.$(OBJ): zmath.c $(OP) store.h
  343.  
  344. zmisc.$(OBJ): zmisc.c $(OP) alloc.h dict.h store.h gstype1.h gxfixed.h
  345.  
  346. zpacked.$(OBJ): zpacked.c $(OP) store.h
  347.  
  348. zrelbit.$(OBJ): zrelbit.c $(OP) store.h sstorei.h dict.h
  349.     $(CCNA) zrelbit.c
  350.  
  351. zstack.$(OBJ): zstack.c $(OP) store.h sstorei.h
  352.     $(CCNA) zstack.c
  353.  
  354. zstring.$(OBJ): zstring.c $(OP) alloc.h store.h stream.h
  355.  
  356. ztype.$(OBJ): ztype.c $(OP) dict.h name.h stream.h store.h
  357.  
  358. zvmem.$(OBJ): zvmem.c $(OP) alloc.h state.h store.h gsmatrix.h gsstate.h
  359.  
  360. ###### Graphics operators
  361.  
  362. zchar.$(OBJ): zchar.c $(OP) gxmatrix.h gschar.h gstype1.h gxdevice.h gxfixed.h gxfont.h gxfont1.h gzpath.h gzstate.h alloc.h dict.h font.h estack.h state.h store.h
  363.  
  364. zcolor.$(OBJ): zcolor.c $(OP) alloc.h gsmatrix.h gsstate.h state.h store.h
  365.  
  366. zdevice.$(OBJ): zdevice.c $(OP) alloc.h state.h gsmatrix.h gsstate.h gxdevice.h store.h
  367.  
  368. zfont.$(OBJ): zfont.c $(OP) gsmatrix.h gxdevice.h gxfont.h gxfont1.h alloc.h font.h dict.h name.h state.h store.h
  369.  
  370. zgstate.$(OBJ): zgstate.c $(OP) alloc.h gsmatrix.h gsstate.h state.h store.h
  371.  
  372. zht.$(OBJ): zht.c $(OP) alloc.h estack.h gsmatrix.h gsstate.h state.h store.h
  373.  
  374. zmatrix.$(OBJ): zmatrix.c $(OP) gsmatrix.h state.h gscoord.h store.h
  375.  
  376. zpaint.$(OBJ): zpaint.c $(OP) alloc.h estack.h gsmatrix.h gspaint.h state.h store.h
  377.  
  378. zpath.$(OBJ): zpath.c $(OP) gsmatrix.h gspath.h state.h store.h
  379.  
  380. zpath2.$(OBJ): zpath2.c $(OP) alloc.h estack.h gspath.h state.h store.h
  381.  
  382. ###### Linking
  383.  
  384. INT=ialloc.$(OBJ) idebug.$(OBJ) idict.$(OBJ) iinit.$(OBJ) iname.$(OBJ) \
  385.  interp.$(OBJ) iscan.$(OBJ) iutil.$(OBJ) stream.$(OBJ) \
  386.  zarith.$(OBJ) zarray.$(OBJ) zcontrol.$(OBJ) zdict.$(OBJ) zfile.$(OBJ) \
  387.  zgeneric.$(OBJ) zmath.$(OBJ) zmisc.$(OBJ) zpacked.$(OBJ) zrelbit.$(OBJ) \
  388.  zstack.$(OBJ) zstring.$(OBJ) ztype.$(OBJ) zvmem.$(OBJ) \
  389.  zchar.$(OBJ) zcolor.$(OBJ) zfont.$(OBJ) zdevice.$(OBJ) zgstate.$(OBJ) \
  390.  zht.$(OBJ) zmatrix.$(OBJ) zpaint.$(OBJ) zpath.$(OBJ) zpath2.$(OBJ)
  391.  
  392. # ----------------------------- Main program ------------------------------ #
  393.  
  394. # Utilities shared between platforms
  395.  
  396. gsmain.$(OBJ): gsmain.c $(GX) \
  397.   gsmatrix.h gxdevice.h
  398.  
  399. # Library test program driver
  400.  
  401. gt.$(OBJ): gt.c $(GX) \
  402.   gsmatrix.h gsstate.h gscoord.h gspaint.h gspath.h gxdevice.h
  403.  
  404. # Interpreter main program
  405.  
  406. interp.$(OBJ): interp.c $(GH) \
  407.   errors.h name.h dict.h oper.h store.h sstorei.h stream.h
  408.     $(CCINT) interp.c
  409.  
  410. gs.$(OBJ): gs.c $(GH) alloc.h store.h stream.h $(MAKEFILE)
  411.     $(CCA) -DGS_LIB_DEFAULT=$(Q)$(GS_LIB_DEFAULT)$(Q) gs.c
  412. #    Copyright (C) 1989, 1990, 1991 Aladdin Enterprises.  All rights reserved.
  413. #    Distributed by Free Software Foundation, Inc.
  414. #
  415. # This file is part of Ghostscript.
  416. #
  417. # Ghostscript is distributed in the hope that it will be useful, but
  418. # WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
  419. # to anyone for the consequences of using it or for whether it serves any
  420. # particular purpose or works at all, unless he says so in writing.  Refer
  421. # to the Ghostscript General Public License for full details.
  422. #
  423. # Everyone is granted permission to copy, modify and redistribute
  424. # Ghostscript, but only under the conditions described in the Ghostscript
  425. # General Public License.  A copy of this license is supposed to have been
  426. # given to you along with Ghostscript so you can know your rights and
  427. # responsibilities.  It should be in a file named COPYING.  Among other
  428. # things, the copyright notice and this notice must be preserved on all
  429. # copies.
  430.  
  431. # makefile for Ghostscript device drivers.
  432.  
  433. # -------------------------------- Catalog ------------------------------- #
  434.  
  435. # It is possible to build Ghostscript with an arbitrary collection of
  436. # device drivers, although many drivers are supported only on a subset
  437. # of the target platforms.  The currently available drivers are:
  438.  
  439. # Displays:
  440. #    bgi    Borland Graphics Interface   [MS-DOS only]
  441. #    ega    EGA display   [MS-DOS only]
  442. #    ega_bios  EGA display using BIOS calls (very slow)   [MS-DOS only]
  443. #    mdb10    EIZO MDB-10 display (1024 x 768)   [MS-DOS only]
  444. #    sonyfb    Sony Microsystems monochrome display   [Sony only]
  445. #    sunview  SunView window system   [SunOS only]
  446. #    vga    VGA display   [MS-DOS only]
  447. #    x11    X Windows version 11, release >=3   [Unix only]
  448. # (NOTE: no more than one MS-DOS display driver may be included in
  449. #   any build.)
  450. # Printers:
  451. #    bj10e    Canon BubbleJet BJ10e  [MS-DOS only]
  452. #    deskjet  H-P DeskJet   [MS-DOS & Unix]
  453. #    epson    Epson dot matrix printers   [MS-DOS only]
  454. #    laserjet  H-P LaserJet   [MS-DOS & Unix]
  455. #    nwp533  Sony Microsystems NWP533 laser printer   [Sony only]
  456. # ###    paintjet  H-P PaintJet color printer [Unix, tested on SunOS only]
  457. # ###      (NOT INCLUDED IN THIS RELEASE)
  458.  
  459. # If you add drivers, it would be nice if you kept each list
  460. # in alphabetical order.
  461.  
  462. # Each platform-specific makefile should contain a pair of lines of the form
  463. #    DEVICES=<dev1> ... <devn>
  464. #    DEVICE_OBJS=$(<dev1>_) ... $(<devn>_)
  465. # where dev1 ... devn are the devices to be included in the build.
  466. # dev1 will be used as the default device.  Don't forget the _s!
  467. # On MS-DOS platforms, the first of these lines must appear *before*,
  468. # and the second *after*, the lines
  469. #    (!)include gdevs.mak
  470. #    (!)include ghost.mak
  471. # in the makefile.  On Unix systems, the two device definition lines
  472. # may appear anywhere in the makefile.
  473. #
  474. # The executable must be linked with all the files named in DEVICE_OBJS.
  475. # On MS-DOS platforms, this is done by constructing a file called gdevs.tl,
  476. # to get around the limit on the length of a DOS command line.
  477.  
  478. # ---------------------------- End of catalog ---------------------------- #
  479.  
  480. # If you want to add a new device driver, the examples below should be
  481. # enough of a guide to the correct form for the makefile rules.
  482.  
  483. # All device drivers depend on the following
  484. # (note that we include some indirect dependencies explicitly):
  485.  
  486. GDEV=$(AK) gs.h gx.h gsmatrix.h gxbitmap.h gxdevice.h
  487.  
  488. ###### ------------------- MS-DOS display devices ------------------- ######
  489.  
  490. GDEVPCFB=gdevpcfb.h $(GDEV)
  491.  
  492. gdevegaa.$(OBJ): gdevegaa.asm
  493.  
  494. ### -------------------------- The EGA device -------------------------- ###
  495.  
  496. ETEST=ega.$(OBJ) trace.$(OBJ) $(ega_)
  497. ega.exe: $(ETEST) libc$(MM).tl
  498.     tlink /m /l $(LIBDIR)\c0$(MM) @ega.tl @libc$(MM).tl
  499.  
  500. ega.$(OBJ): ega.c $(GDEV)
  501.  
  502. ega_=gdevega.$(OBJ) gdevegaa.$(OBJ)
  503. ega.dev: $(ega_)
  504.     .$(DS)gssetdev ega.dev $(ega_)
  505.  
  506. gdevega.$(OBJ): gdevpcfb.c gdevega.h $(GDEVPCFB)
  507.     cp gdevega.h gdevxxfb.h
  508.     $(CCNA) gdevpcfb.c
  509.     rm gdevxxfb.h
  510.     cp gdevpcfb.obj gdevega.obj
  511.  
  512. ega_bios_=gdevegab.$(OBJ) gdevegaa.$(OBJ)
  513. ega_bios.dev: $(ega_bios_)
  514.     .$(DS)gssetdev ega_bios.dev $(ega_bios_)
  515.  
  516. gdevegab.$(OBJ): gdevegab.c $(GDEVPCFB)
  517.     $(CCNA) $(D_EGA) gdevegab.c
  518.  
  519. ### -------------------------- The VGA device -------------------------- ###
  520.  
  521. vga_=gdevvga.$(OBJ) gdevegaa.$(OBJ)
  522. vga.dev: $(vga_)
  523.     .$(DS)gssetdev vga.dev $(vga_)
  524.  
  525. gdevvga.$(OBJ): gdevpcfb.c gdevvga.h $(GDEVPCFB)
  526.     cp gdevvga.h gdevxxfb.h
  527.     $(CCNA) gdevpcfb.c
  528.     rm gdevxxfb.h
  529.     cp gdevpcfb.obj gdevvga.obj
  530.  
  531. ### ---------------------- The EIZO MDB-10 device ---------------------- ###
  532.  
  533. mdb10_=gdevmd10.$(OBJ) gdevegaa.$(OBJ)
  534. mdb10.dev: $(mdb10_)
  535.     .$(DS)gssetdev mdb10.dev $(mdb10_)
  536.  
  537. gdevmd10.$(OBJ): gdevpcfb.c gdevmd10.h $(GDEVPCFB)
  538.     cp gdevmd10.h gdevxxfb.h
  539.     $(CCNA) gdevpcfb.c
  540.     rm gdevxxfb.h
  541.     cp gdevpcfb.obj gdevmd10.obj
  542.  
  543. ###### --------- The BGI (Borland Graphics Interface) device -------- ######
  544.  
  545. bgi_=gdevbgi.$(OBJ) egavga.$(OBJ)
  546. bgi.dev: $(bgi_)
  547.     .$(DS)gssetdev bgi.dev $(bgi_)
  548.  
  549. gdevbgi.$(OBJ): gdevbgi.c $(GDEV)
  550.     $(CCNA) gdevbgi.c
  551.  
  552. egavga.$(OBJ): $(COMPDIR)\egavga.bgi
  553.     bgiobj egavga
  554.  
  555. ###### --------------- Memory-buffered printer devices --------------- ######
  556.  
  557. gvirtmem.$(OBJ): gvirtmem.c gvirtmem.h
  558.  
  559. # Virtual memory test program -- requires VMDEBUG
  560.  
  561. gvm.exe: gvirtmem.$(OBJ) trace.$(OBJ)
  562.     tlink /m /l $(LIBDIR)\c0$(MM) gvirtmem trace,gvm,gvm,$(LIBDIR)\c$(MM)
  563.  
  564. PDEVH=$(GDEV) gxdevmem.h gvirtmem.h gdevprn.h
  565.  
  566. # We use CCNA only because the MS-DOS version of the driver
  567. # refers to stdprn, which is non-ANSI.
  568. gdevprn.$(OBJ): gdevprn.c $(PDEVH)
  569.     $(CCNA) gdevprn.c
  570.  
  571. ### ----------------- The Canon BubbleJet BJ10e device ----------------- ###
  572.  
  573. bj10e_=gdevbj10.$(OBJ) gvirtmem.$(OBJ) gdevprn.$(OBJ)
  574. bj10e.dev: $(bj10e_)
  575.     .$(DS)gssetdev bj10e.dev $(bj10e_)
  576.  
  577. gdevbj10.$(OBJ): gdevbj10.c $(PDEVH)
  578.  
  579. ### ------------------ The H-P DeskJet printer device ------------------ ###
  580.  
  581. # Note that this shares code with the LaserJet device (below).
  582.  
  583. deskjet_=gdevdjet.$(OBJ) gvirtmem.$(OBJ) gdevprn.$(OBJ)
  584. deskjet.dev: $(deskjet_)
  585.     .$(DS)gssetdev deskjet.dev $(deskjet_)
  586.  
  587. gdevdjet.$(OBJ): gdevdjet.c $(PDEVH)
  588.     $(CCA) -DLASER=0 gdevdjet.c
  589.  
  590. ### ----------------- The generic Epson printer device ----------------- ###
  591.  
  592. epson_=gdevepsn.$(OBJ) gvirtmem.$(OBJ) gdevprn.$(OBJ)
  593. epson.dev: $(epson_)
  594.     .$(DS)gssetdev epson.dev $(epson_)
  595.  
  596. gdevepsn.$(OBJ): gdevepsn.c $(PDEVH)
  597.  
  598. ### ------------------ The H-P LaserJet printer device ----------------- ###
  599.  
  600. # Note that this shares code with the DeskJet device (above).
  601.  
  602. laserjet_=gdevljet.$(OBJ) gvirtmem.$(OBJ) gdevprn.$(OBJ)
  603. laserjet.dev: $(laserjet_)
  604.     .$(DS)gssetdev laserjet.dev $(laserjet_)
  605.  
  606. gdevljet.$(OBJ): gdevdjet.c $(PDEVH)
  607.     cp gdevdjet.c gdevljet.c
  608.     $(CCA) -DLASER=1 gdevljet.c
  609.     rm gdevljet.c
  610.  
  611. ### ------------ The H-P PaintJet color printer device ----------------- ###
  612. ### Note: this driver was contributed by users:                          ###
  613. ###       please contact marc@vlsi.polymtl.ca if you have questions.     ###
  614.  
  615. ### This driver was not ready to be included in release 2.0.
  616. ### Do not attempt to use it: the files are not included in the fileset.
  617.  
  618. PJETH=$(GDEV) gdevprn.h gdevpjet.h
  619.  
  620. paintjet_=gdevpjet.$(OBJ)
  621. paintjet.dev: $(paintjet_)
  622.     .$(DS)gssetdev paintjet.dev $(paintjet_)
  623.  
  624. gdevpjet.$(OBJ): gdevpjet.c $(PJETH)
  625.  
  626. ###### ------------------ Sony frame buffer device ----------------- ######
  627.  
  628. sonyfb_=gdevsnfb.$(OBJ) gvirtmem.$(OBJ) gdevprn.$(OBJ)
  629. sonyfb.dev: $(sonyfb_)
  630.     .$(DS)gssetdev sonyfb.dev $(sonyfb_)
  631.  
  632. gdevsnfb.$(OBJ): gdevsnfb.c $(PDEVH)
  633.     $(CCA) gdevsnfb.c
  634.  
  635. ###### ----------------- Sony NWP533 printer device ----------------- ######
  636.  
  637. nwp533_=gdevn533.$(OBJ) gvirtmem.$(OBJ) gdevprn.$(OBJ)
  638. nwp533.dev: $(nwp533_)
  639.     .$(DS)gssetdev nwp533.dev $(nwp533_)
  640.  
  641. gdevn533.$(OBJ): gdevn533.c $(PDEVH)
  642.     $(CCA) gdevn533.c
  643.  
  644. ###### --------------------- The SunView device --------------------- ######
  645.  
  646. sunview_=gdevsun.$(OBJ)
  647. sunview.dev: $(sunview_)
  648.     .$(DS)gssetdev sunview.dev $(sunview_)
  649.  
  650. gdevsun.$(OBJ): gdevsun.c $(GDEV)
  651.  
  652. ###### ----------------------- The X11 device ----------------------- ######
  653.  
  654. x11_=gdevx.$(OBJ)
  655. x11.dev: $(x11_)
  656.     .$(DS)gssetdev x11.dev $(x11_)
  657.  
  658. ### Note: if the X11 client header libraries are not on /usr/include/X11,
  659. ### you may have to change the compilation line below to add a -I switch.
  660. ### For example, if the header files are in /usr/local/X/include/X11,
  661. ### you must add the switch -I/usr/local/X/include.
  662. gdevx.$(OBJ): gdevx.c $(GDEV) gdevx.h
  663.     $(CCA) -I/usr/local/X/include gdevx.c
  664. #    Copyright (C) 1990, 1991 Aladdin Enterprises.  All rights reserved.
  665. #    Distributed by Free Software Foundation, Inc.
  666. #
  667. # This file is part of Ghostscript.
  668. #
  669. # Ghostscript is distributed in the hope that it will be useful, but
  670. # WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
  671. # to anyone for the consequences of using it or for whether it serves any
  672. # particular purpose or works at all, unless he says so in writing.  Refer
  673. # to the Ghostscript General Public License for full details.
  674. #
  675. # Everyone is granted permission to copy, modify and redistribute
  676. # Ghostscript, but only under the conditions described in the Ghostscript
  677. # General Public License.  A copy of this license is supposed to have been
  678. # given to you along with Ghostscript so you can know your rights and
  679. # responsibilities.  It should be in a file named COPYING.  Among other
  680. # things, the copyright notice and this notice must be preserved on all
  681. # copies.
  682.  
  683. # Partial makefile for Ghostscript, common to all Unix configurations.
  684.  
  685. # This is the last part of the makefile for Unix configurations.
  686. # Since Unix make doesn't have an 'include' facility, we concatenate
  687. # the various parts of the makefile together by brute force (in tar_gs).
  688.  
  689. # -------------------------------- Library -------------------------------- #
  690.  
  691. ## The Unix platform
  692.  
  693. PLATUNIX=gp_unix.$(OBJ)
  694.  
  695. gp_unix.$(OBJ): gp_unix.c
  696.  
  697. # -------------------------- Auxiliary programs --------------------------- #
  698.  
  699. ansi2knr$(XE):
  700.     $(CC) -o ansi2knr$(XE) $(CFLAGS) ansi2knr.c
  701.  
  702. genarch$(XE): genarch.c
  703.     $(CC) -o genarch$(XE) $(CFLAGS) genarch.c
  704.  
  705. # ----------------------------- Main program ------------------------------ #
  706.  
  707. # (Dummy) tracing package
  708.  
  709. utrace.$(OBJ): utrace.c cframe_.h
  710.  
  711. # Main program
  712.  
  713. ALLUNIX=gsmain.$(OBJ) utrace.$(OBJ) $(LIB) $(PLATUNIX) $(DEVICE_OBJS)
  714.  
  715. # Library test programs
  716.  
  717. GTUNIX=gt.$(OBJ) $(ALLUNIX)
  718. gt: $(GTUNIX)
  719.     $(CC) $(CFLAGS) $(LDPLAT) -o gt $(GTUNIX) $(EXTRALIBS) -lm
  720.  
  721. # Interpreter main program
  722.  
  723. GSUNIX=gs.$(OBJ) $(INT) $(ALLUNIX)
  724. gs: $(GSUNIX)
  725.     $(CC) $(CFLAGS) $(LDPLAT) -o gs $(GSUNIX) $(EXTRALIBS) -lm
  726.  
  727. # Installation
  728.  
  729. sysps = ghost.ps gfonts.ps statusd.ps
  730. artps = chess.ps cheq.ps golfer.ps escher.ps
  731. utilps = decrypt.ps bdftops.ps pstoppm.ps fcutils.ps prfont.ps
  732.  
  733. install:
  734.     $(proginstall) gs gsnd bdftops $(bindir)
  735.     $(fileinstall) $(sysps) $(artps) $(utilps) $(libdir)
  736.